#import <Foundation/Foundation.h>

#import "../model/Notification.h"
#import "RequestConfig.h"
#import "Notification.h"
#ifndef Notification_h
#define Notification_h

@interface NotificationRequest : NSObject

@property (nonatomic,weak) RequestConfig* config;
- (void)initReq:(RequestConfig*)config;
+ (id)defaultNotificationRequest;

- (void)getAllNotification:(nullable void (^)(NSArray<Notification*> *msg_list))success
                   failure:(nullable void (^)(NSString* reason))failure;
- (void)getUnreadNotificationNum:(NSString*)NotificationID
                         success:(nullable void (^)(NSInteger unread_num))success
                         failure:(nullable void (^)(NSString* reason))failure;
- (void)deleteNotificationByID:(NSString*)NotificationID
                       success:(nullable void (^)(void))success
                       failure:(nullable void (^)(NSString* reason))failure;
- (void)readNotificationByID:(NSString*)NotificationID
                     success:(nullable void (^)(void))success
                     failure:(nullable void (^)(NSString* reason))failure;
- (void)unreadNotificationByID:(NSString*)NotificationID
                   success:(nullable void (^)(void))success
                   failure:(nullable void (^)(NSString* reason))failure;

@end
#endif
